Rendering pathways for virtual tour

ABSTRACT

Methods and systems of rendering a pathway for a virtual tour of a predefined premises are disclosed. A method ( 1500 ) includes receiving a three-dimensional floor plan of the predefined premises, generating the virtual tour of the predefined premises based on the three-dimensional floor plan, identifying a plurality of pathways within the three-dimensional floor plan for exploring the predefined premises, and receiving details pertaining to a position and orientation of the user during the virtual tour. The position and the orientation are detected by at least one sensor of a Virtual Reality (VR) enabled device ( 104 ) of the user. The method ( 1500 ) includes selecting a pathway based on the position and the orientation of the user, and rendering the pathway to the VR-enabled device ( 104 ) for the virtual tour.

FIELD OF THE INVENTION

The present disclosure relates to virtual tours and more particularly,relates to systems and methods for rendering pathways for a virtual tourin a predefined premises.

BACKGROUND

Typically, in the realm of real estate, building construction, andinterior designing, a property, such as a house and an office, is shownto a customer by using images, video clips or an actual visit to thesite. Each of these methods involves certain shortcomings. For example,in case of viewing the images and the video clips of the site, thecustomer may not get a realistic experience and miss the finer detailsof the project. On the other hand, providing a visit of a site to everycustomer is an expensive and time consuming exercise and may nottherefore be feasible.

In the recent times, with the advent of Virtual Reality (VR)technologies, virtual tours are increasingly being used in variousfields, including real estate. As is generally known, a virtual tour isan organized trip, made up from a series of 360 degree images or videosstitched together for generating an interactive 3D panoramic view. Thevirtual tour provides a virtual view or a virtual walk experience of aselected space to a user with detailed understanding. In order tofacilitate such virtual tours for the users, cameras mounted atpredefined angles at the site continuously capture the three dimensionalimages and render the same on a VR headset worn by a user. As would beappreciated, the VR technology of course offers various advantages overthe traditional methods, at least in terms of providing a realisticexperience to the user and that too, without requiring the physicalpresence of the user at the site.

However, virtual tours of a property often pose certain challenges aswell. Considering that the virtual tour is a timed predefined sequenceof video frames, a user viewing the video content through the VR headsetis required to follow the timed sequence of video being rendered. Theuser doesn't have the liberty to alter or modify the tour based onhis/her preference. For example, when 3D virtual tour of a furnishedproperty is rendered on the VR headset, the user may want to spend sometime viewing and reviewing a specific portion of the site, say, the usermay want to examine the furniture. In another example, the user may getobstructed by the furniture and walls while the content is beingrendered on the VR headset. In such situations, the user is thenrequired to reposition himself/herself and resume the video from thenext frame or restart the entire experience once again.

Such repositioning directly leads to loss of continuity in the userexperience. Therefore, the user may still not get the wholesomeexperience of visiting the site, even with the existing VR techniques,for example, owing to abovementioned disruptions. Moreover, the virtualtours as rendered by the existing techniques may cause inconvenience tothe user while reviewing the site.

In order to solve at least one of the above mentioned problems, thereexists a need for providing a seamless user experience while navigatingthrough a virtual reality tour.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified format that are further described in the detailed descriptionof the invention. This summary is not intended to identify key oressential inventive concepts of the invention, nor is it intended fordetermining the scope of the invention.

In an embodiment of the present disclosure, a method of rendering apathway for a virtual tour of a predefined premises is disclosed. Themethod includes receiving, by a receiving module, a three-dimensionalfloor plan of the predefined premises, and generating, by generatingmodule, the virtual tour of the predefined premises, based on thethree-dimensional floor plan. The virtual tour is generated byretrieving a plurality of images captured from predefined angles withinthe three dimensional floor plan, and stitching the plurality of imagesto generate the virtual tour. The method includes identifying, by anidentifying module, a plurality of pathways within the three-dimensionalfloor plan for exploring the predefined premises. A pathway isindicative of a visual, tactile or audio guidance provided to a user fornavigating from a starting point to a destination point within thevirtual tour. Further, the method includes receiving, by the receivingmodule, details pertaining to a position and orientation of the userduring the virtual tour. The position and the orientation are detectedby at least one sensor of a Virtual Reality (VR) enabled device of theuser. The method then includes selecting, by a selecting module, apathway, from among the plurality of pathways, based on the position andthe orientation of the user, and rendering, by a rendering module, thepathway to the VR-enabled device for the virtual tour.

In another embodiment of the present disclosure, a system of rendering apathway for a virtual tour of a predefined premises is disclosed. Thesystem includes a receiving module adapted to receive athree-dimensional floor plan of the predefined premises and a generatingmodule in communication with the receiving module and adapted togenerate the virtual tour of the predefined premises, based on thethree-dimensional floor plan. The virtual tour is generated byretrieving a plurality of images captured from predefined angles withinthe three dimensional floor plan, and stitching the plurality of imagesto generate the virtual tour. The system includes an identifying modulein communication with the generating module and adapted to identify aplurality of pathways within the three-dimensional floor plan forexploring the predefined premises. A pathway is indicative of a visual,tactile or audio guidance provided to a user for navigating from astarting point to a destination point within the virtual tour. Thesystem further includes the receiving module adapted to receive detailspertaining to a position and orientation of the user during the virtualtour. The position and the orientation are detected by at least onesensor of a Virtual Reality (VR) enabled device of the user. The systemincludes a selecting module in communication with the receiving moduleand adapted to select a pathway, from among the plurality of pathways,based on the position and the orientation of the user. Further, thesystem includes a rendering module in communication with the selectingmodule and adapted to render the pathway to the VR-enabled device forthe virtual tour.

To further clarify advantages and features of the present invention, amore particular description of the invention will be rendered byreference to specific embodiments thereof, which is illustrated in theappended drawing. It is appreciated that these drawings depict onlytypical embodiments of the invention and are therefore not to beconsidered limiting its scope. The invention will be described andexplained with additional specificity and detail with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become better understood when the following detaileddescription is read with reference to the accompanying drawings in whichlike characters represent like parts throughout the drawings, wherein:

FIG. 1 illustrates an environment for implementation of systems andmethods of rendering a pathway for a virtual tour of a predefinedpremises, according to an embodiment of the present disclosure;

FIG. 2 illustrates a block diagram of a system of rendering a pathwayfor the virtual tour of the predefined premises, according to anembodiment of the present disclosure;

FIG. 3 illustrates an example depicting one-point perspective, accordingto an embodiment of the present disclosure;

FIG. 4 illustrates another example depicting the one-point perspective,according to an embodiment of the present disclosure;

FIG. 5 illustrates another example depicting the one-point perspective,according to an embodiment of the present disclosure;

FIG. 6 illustrates an example depicting a two-point perspective,according to an embodiment of the present disclosure;

FIG. 7 illustrates another example depicting the two-point perspective,according to an embodiment of the present disclosure;

FIG. 8 illustrates another example depicting the two-point perspective,according to an embodiment of the present disclosure;

FIG. 9 illustrates an example depicting a three-point perspective,according to an embodiment of the present disclosure;

FIG. 10 illustrates another example depicting the three-pointperspective, according to an embodiment of the present disclosure;

FIG. 11 illustrates an example depicting a specific area within thepredefined premises divided in multiple grids and having aproduct-of-interest, according to an embodiment of the presentdisclosure;

FIG. 12 illustrates an example depicting products-of-interest in aspecific portion of the predefined premises, according to an embodimentof the present disclosure;

FIG. 13 illustrates an example depicting determining of an edge,according to an embodiment of the present disclosure;

FIG. 14 illustrates an example depicting a current direction of path anda direction of a current node to the product-of-interest, according toan embodiment of the present disclosure; and

FIG. 15 illustrates a flow chart depicting a method of rending thepathway for the virtual tour of the predefined premises, according to anembodiment of the present disclosure.

Further, skilled artisans will appreciate that elements in the drawingsare illustrated for simplicity and may not have been necessarily beendrawn to scale. For example, the flow charts illustrate the method interms of the most prominent steps involved to help to improveunderstanding of aspects of the present invention. Furthermore, in termsof the construction of the device, one or more components of the devicemay have been represented in the drawings by conventional symbols, andthe drawings may show only those specific details that are pertinent tounderstanding the embodiments of the present invention so as not toobscure the drawings with details that will be readily apparent to thoseof ordinary skill in the art having benefit of the description herein.

DETAILED DESCRIPTION OF THE DRAWINGS

For the purpose of promoting an understanding of the principles of theinvention, reference will now be made to the embodiment illustrated inthe drawings and specific language will be used to describe the same. Itwill nevertheless be understood that no limitation of the scope of theinvention is thereby intended, such alterations and furthermodifications in the illustrated system, and such further applicationsof the principles of the invention as illustrated therein beingcontemplated as would normally occur to one skilled in the art to whichthe invention relates. Unless otherwise defined, all technical andscientific terms used herein have the same meaning as commonlyunderstood by one of ordinary skilled in the art to which this inventionbelongs. The system, methods, and examples provided herein areillustrative only and not intended to be limiting.

Embodiments of the present invention will be described below in detailwith reference to the accompanying drawings.

For the sake of clarity, the first digit of a reference numeral of eachcomponent of the present disclosure is indicative of the Figure number,in which the corresponding component is shown. For example, referencenumerals starting with digit “1” are shown at least in FIG. 1.Similarly, reference numerals starting with digit “2” are shown at leastin FIG. 2.

FIG. 1 illustrates an environment 100 for implementation of systems andmethods of rendering a pathway for a virtual tour of a predefinedpremises, according to an embodiment of the present disclosure. In anembodiment, a system 102 may be in communication with a Virtual Reality(VR) enabled device 104 and a communication device 106 through a network108. In an embodiment, the network 108 may be a wireless network or awired network, without departing from the scope of the presentdisclosure.

The system 102 may be adapted to render the pathway for the virtual tourof the predefined premises. In an embodiment, the system 102 may behosted on a cloud network. Further, the system 102 may be accessible toone or more users via an interface provided on the communication device106. Constructional and operational features of the system 102 areexplained in detail at least in the description of FIG. 2. The system102 may render the pathway on the VR-enabled device 104.

The VR-enabled device 104 may be adapted to be used by a user to takethe virtual tour of the predefined premises, based on the pathway asrendered by the system 102. In an embodiment, the VR-enabled device 104may include, but is not limited to, a VR-enabled headset. In anotherembodiment, the VR-enabled device 104 may include, but is not limitedto, a computing device, such as smartphone, laptop, and a desktop.

In an embodiment, the VR-enabled device 104 may include a display unit,one or more sensors, and at least one Input-Output device. The displayunit may be adapted to render 360 degree virtual tour of the predefinedpremises. Further, the sensors may detect a position and orientation ofthe user. In an embodiment, the sensors may detect user movement andhand gestures. In an embodiment, the user may select the predefinedpremises to be viewed by using hand gestures, which may be detected bythe sensors. In an embodiment, the user movement and hand gestured maybe continuously monitored during the virtual tour of the user. Further,the at least one input-output device may be adapted to provide at leastone of an audio signal, a video signal, and a tactile signal fornavigating during the virtual tour of the predefined premises.

Further, the communication device 106 may be used to avail differentfunctionalities of the system 102. In an embodiment, the communicationdevice 106 may include a dedicated application for interacting with thesystem 102. In an embodiment, the application may be used to browse,search, and select one or more predefined premises to be viewed in theVR-enabled device 104. In an embodiment, the communication device 106may include, but is not limited to, a smartphone, a tablet, a laptop,and a personal computer. In an embodiment, the communication device 106may also be used to operate the VR-enabled device 104. The communicationdevice 106 may be adapted to be connected to the VR-enabled device 104through one of a Bluetooth®, Local Area Network (LAN), and Wide AreaNetwork (WAN).

FIG. 2 illustrates a block diagram of the system 102, according to anembodiment of the present disclosure. The system 102 may include aprocessor 202, a memory 204, modules 206, and data 208. The modules 206and the memory 204 are coupled to the processor 202. The processor 202can be a single processing unit or a number of units, all of which couldinclude multiple computing units. The processor 202 may be implementedas one or more microprocessors, microcomputers, microcontrollers,digital signal processors, central processing units, state machines,logic circuitries, and/or any devices that manipulate signals based onoperational instructions. Among other capabilities, the processor 202 isconfigured to fetch and execute computer-readable instructions and datastored in the memory 204.

The memory 204 may include any non-transitory computer-readable mediumknown in the art including, for example, volatile memory, such as staticrandom access memory (SRAM) and dynamic random access memory (DRAM),and/or non-volatile memory, such as read-only memory (ROM), erasableprogrammable ROM, flash memories, hard disks, optical disks, andmagnetic tapes.

The modules 206, amongst other things, include routines, programs,objects, components, data structures, etc., which perform particulartasks or implement data types. The modules 206 may also be implementedas, signal processor(s), state machine(s), logic circuitries, and/or anyother device or component that manipulate signals based on operationalinstructions.

Further, the modules 206 can be implemented in hardware, instructionsexecuted by a processing unit, or by a combination thereof. Theprocessing unit can comprise a computer, a processor, such as theprocessor 202, a state machine, a logic array or any other suitabledevices capable of processing instructions. The processing unit can be ageneral-purpose processor which executes instructions to cause thegeneral-purpose processor to perform the required tasks or, theprocessing unit can be dedicated to perform the required functions. Inanother embodiment of the present disclosure, the modules 206 may bemachine-readable instructions (software) which, when executed by aprocessor/processing unit, perform any of the described functionalities.

In an implementation, the modules 206 may include a receiving module210, a generating module 212, an identifying module 214, a selectingmodule 216, a rendering module 218, an updating module 220, and alearning module 222. The receiving module 210, the generating module212, the identifying module 214, the selecting module 216, the renderingmodule 218, the updating module 220, and the learning module 222 may bein communication with each other. Further, the data 208 serves, amongstother things, as a repository for storing data processed, received, andgenerated by one or more of the modules 206. In an embodiment, thedetails pertaining to the modules 206 may be stored as data 208 in thememory 204.

In an embodiment, the receiving module 210 may be adapted to receive athree-dimensional floor plan of the predefined premises. In anotherembodiment, the receiving module 210 may receive a two-dimensional floorplan of the predefined premises. In an embodiment, the two-dimensionalfloor plan may be received from the communication device 106. In anembodiment, one or more drawing tools may be provided to the userthrough a user interface on the communication device 106 for creating orediting the two-dimensional floor plan. Further, the receiving module210 may generate the three-dimensional floor plan, based on thetwo-dimensional floor plan. In an embodiment, the receiving module 210may be in communication with the generating module 212.

The generating module 212 may be adapted to generate the virtual tour ofthe predefined premises, based on the three-dimensional floor plan. Inan embodiment, in order to generate the virtual tour, the generatingmodule 212 may first retrieve a plurality of images captured frompredefined angles within the three dimensional floor plan. In anembodiment, the generating module 212 may be in communication with atleast one camera installed at the predefined premises. The at least onecamera may capture the images, which may then be retrieved by thegenerating module 212. Further, the generating module 212 may stitch theimages to generate the virtual tour. In an embodiment, the generatingmodule 212 may be in communication with the identifying module 214.

The identifying module 214 may be adapted to identify a plurality ofpathways within the three-dimensional floor plan for exploring thepredefined premises. In an embodiment, a pathway is indicative of avisual, tactile or audio guidance provided to the user for navigatingfrom a starting point to a destination point within the virtual tour. Inan embodiment, the identifying module 214 may be adapted to identify theplurality of pathways, based on identification of obstruction in thethree-dimensional floor plan. The obstruction may include, but is notlimited to, furniture, walls, stairs, and doors.

In an example, the identifying module 214 may identify the plurality ofpathways to navigate the user from a current frame to the next mostappropriate frame sequence in the virtual tour. For example, the usercould not find a path to navigate from a frame n1 to a frame n2, wherethe frame n1 depicts a portion of a drawing room of the predefinedpremises and the frame n2 depicts a portion of the kitchen of thepredefined premises. In such cases, the identifying module 214 mayidentify the plurality of pathways for navigating the user to theportion depicted in the frame n2.

Further, in an embodiment, the identifying module 214 may identify theplurality of pathways such that the pathways effective show the productsinside the predefined premises to the user. Therefore, rather thanidentifying the shortest pathways between two locations in thepredefined premises, the identifying module 214 identifies the pathwayssuch the user gets to view the products. In an embodiment, theidentifying module 214 may identify the plurality of pathways, based ondimensions of the predefined premises and the products-of-interest.

Further, the receiving module 210 may be adapted to receive detailspertaining to the position and orientation of the user during thevirtual tour. In an embodiment, the position and the orientation of theuser may be detected by at least one sensor of a VR-enabled device 104of the user. In an embodiment, the position and the orientation may bedetected corresponding to a frame sequence of the virtual tour beingrendered. In an embodiment, the receiving module 210 may becommunication with the selecting module 216.

The selecting module 216 may be adapted to select a pathway, from amongthe plurality of pathways, based on the position and the orientation ofthe user. In an embodiment, the selecting module 216 may be incommunication with the rendering module 218.

The rendering module 218 may be adapted to render the pathway to theVR-enabled device 104 for the virtual tour. In one example, once thepathway is rendered, a visual arrow mark is superimposed on the virtualtour corresponding to the position and orientation of the user so as todirect the user to the content on the next frame. In an example, anaudio command is played so as to guide the user to the content on thenext frame. In an embodiment, the rendering module 218 may be incommunication with the generating module 212.

In an embodiment, the generating module 212 may be adapted to generate ascore for each of the plurality of pathways. The rendering module 218may then select the pathway with the highest score for rendering to theVR-enabled device 104.

Further, in an embodiment, the receiving module 210 may be adapted toreceive a user instruction indicative of one of adding, removing, andmodifying an item during the virtual tour. In an embodiment, the userinstruction may be received through the communication device 106. Thereceiving module 210 may be in communication with the updating module220. Based on the instruction, the updating module 220 may be adapted toupdate the pathway and render the updated pathway to the VR-enableddevice 104. In an embodiment, the updating module 220 may be adapted toupdate the pathway in real-time. Therefore, the updating module 220 mayupdate the pathway being rendered to the VR-enabled device 104 inreal-time.

In another embodiment, the at least one sensor of the VR-enabled device104 may detect at least one predefined user gesture. In such anembodiment, the receiving module 210 may be adapted to receive detailsindicative of the at least one predefined user gesture. In anembodiment, the at least one predefined user gesture may include, but isnot limited to, hand movements and eyeball movements. In one example,during a ten minute video virtual tour, the user makes a gesture at thesecond minute frame or no eyeball movement is detected for a predefinedtime duration by the at least one sensor. In such examples, the at leastone sensor may transfer the details relating to the detection of thegesture or the inactivity of the eyeball to the receiving module 210.The details may include, but are not limited to, a time period ofinactivity and the video frame sequence during such time period. In suchan embodiment, the updating module 220 may be adapted to update thepathway being rendered to the VR-enabled device 104 based on the atleast one predefined user gesture.

In an embodiment, the receiving module 210, the generating module 212,the identifying module 214, the selecting module 216, the renderingmodule 218, and the updating module 220 may be in communication with thelearning module 222. The learning module 222 may monitor the operationof these modules for rendering the pathway for the virtual tours of theuser over a period of time. Further, based on the monitoring over theperiod of time, the learning module 222 may improve the outcome of thesystem 102, for example, generation of the plurality of pathways andselection of the pathway based on the position and orientation of theuser. Therefore, with each cycle of operation of the system 102, anoverall accuracy of the system 102 keeps increasing as the system 102learns with each cycle of operation.

In an example, the pathways may be identified based on showcasing of theproducts within the predefined premises. The showcasing of the productsmay be defined based on different types of perspectives that can be usedin the virtual tour or an interior walkthrough. In an embodiment, theperspectives may include a one-point perspective, a two-pointperspective, and a three-point perspective.

FIG. 3 illustrates an example 300 depicting the one-point perspective,according to an embodiment of the present disclosure. Similarly, FIG. 4illustrates an example 400 depicting the one-point perspective,according to an embodiment of the present disclosure. Further, FIG. 5illustrates an example 500 depicting the one-point perspective,according to an embodiment of the present disclosure. Referring to FIG.3, FIG. 4, and FIG. 5, the one-point perspective may be understood as aperspective where it has one vanishing point on the horizon line. InFIG. 3, FIG. 4, and FIG. 5, all the lines are appearing to be vanishingat one point.

FIG. 6 illustrates an example 600 depicting the two-point perspective,according to an embodiment of the present disclosure. Similarly, FIG. 7illustrates an example 700 depicting the two-point perspective,according to an embodiment of the present disclosure. Further, FIG. 8illustrates an example 800 depicting the two-point perspective,according to an embodiment of the present disclosure. Referring to FIG.6, FIG. 7, and FIG. 8, the two-point perspective may be understood as aperspective where it has two vanishing points. In FIG. 6, FIG. 7, andFIG. 8, all the lines are appearing to be vanishing at two points.

FIG. 9 illustrates an example 900 depicting the three-point perspective,according to an embodiment of the present disclosure. FIG. 10illustrates an example 1000 depicting the three-point perspective,according to an embodiment of the present disclosure. The three-pointperspective may be understood as a perspective where it has threevanishing points. This is also referred to as bird view.

In an embodiment, based on a type of a room and a type of productsplaced in the room, the system 102 may select one of the abovementionedperspectives for a view to be shown to the user during the virtual tour.In an embodiment, products that are recently added to the room may begiven more consideration while selecting the perspective by the system102, as the user may be more interested to explore the new products thanthe already existing products in the room. Therefore, the system 102 maydetermine a total area to be covered by a selected pathway in order toensure that the user can explore all the products-of-interest during thevirtual tour.

In an embodiment, the receiving module 210 may receive details relatingto dimensions and interior structure of a specific portion of thepredefined premises and the products-of-interest in the specificportion. Based on such details, the selecting module 216 may select apathway to explore the specific portion by the user. Further, thegenerating module 212 may generate a one-point perspective view, atwo-point perspective view, and a three-point perspective view of afield of view of the user. The one-point perspective view, the two-pointperspective view, and the three-point perspective view may be understoodas different perspectives of viewing a 3D object. The three generatedviews may be combined to form a comprehensive field of view for theuser. Different combinations of these three views may providedifferently styled pathways. Further, the generating module 212 maygenerate a score or en error for each of such pathways. If the score isbelow a predefined threshold score, the updating module 220 may updatethe pathway such that the updated pathway has a score above thepredefined threshold value. On the other hand, if the error is above apredefined threshold error, the updating module 220 may update thepathway such the updated pathway has an error below than the predefinedthreshold error.

In an example, given a set of nodes R determined from a grid of m×n, thegenerating module 212 may validate the set of nodes based on constraintsαe+βe+γe=1. FIG. 11 illustrates an example 1100 depicting a specificarea within the predefined premises divided in multiple grids and havinga product-of-interest, according to an embodiment of the presentdisclosure.

Where αe, βe, γe represents the combination of the three perspectives(1, 2 and 3) and R={r1, r2, . . . , rn}

1. The system 102 receives a set of nodes (path), V={v1, v2, . . . , vn}and product/s of interest Φ={Φ1, Φ2, . . . , Φn}

2. Error E, may be understood as feedback, for V is determined as:

${\left. {{{E = {{{{\alpha\; e} - \alpha}} + {{{\beta\; e} - \beta}} + {{{{\gamma\; e} - \gamma}}\mspace{14mu}{Where}}}},{\alpha = {1\text{/}\tau{\sum\alpha_{i}}}},{\beta = {1\text{/}\tau{\sum\beta_{i}}}},{\gamma = {1\text{/}\tau{\sum\gamma_{i}}}},{\tau = {{\sum\alpha_{i}} + {\sum\beta_{i}} + {\sum{\gamma_{i}\mspace{14mu}{And}}}}}}{{\alpha_{i} = {{S\left( {\overset{\rightarrow}{r},\overset{\rightarrow}{\Phi}} \right)}}},{\beta_{i} = {{{S\left( {\overset{\rightarrow}{r},\overset{\rightarrow}{\Phi}} \right)} - 1}}},{\gamma_{i} = {1 - {{{S\left( {\overset{\rightarrow}{r},\overset{\rightarrow}{\Phi}} \right)} - {1\text{/}2}}}}}}\mspace{11mu}{Where}{{S\left( {\overset{\rightarrow}{r},\overset{\rightarrow}{\Phi}} \right)} = {\sum\limits_{i = 1}^{n}\;{\left( {\overset{\rightarrow}{r_{i}} - \overset{\rightarrow}{\Phi}} \right) \cdot \left( \overset{\rightarrow k}{r_{i}} \right)}}}} \right)\mspace{14mu}{and}\mspace{14mu}\overset{\rightarrow k}{r_{i}}} = {\overset{\rightarrow}{r}}_{i + 1}$

3. Total covered area by all the nodes in V is given by the equation,

$\mspace{20mu}{C = {\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{m}\frac{2}{\begin{matrix}{{{S_{vi}^{h} - \left( {\left( {S_{vi}^{\text{?}} - ~\Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)}} +} \\\left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)\end{matrix}}}}}$ ?indicates text missing or illegible when filed

4. Given E and C, minimize the function ƒ(C, E)

The function f in step 4 is provided to the generating module 212, whichupdates the pathway to obtain an optimal path P.

e1, e2 in the above equations are not power but just indexes. They areedges of the viewport and the products-of-interest. Also, V does notnecessarily contain all the nodes in the grid. It only contains whateveris provided by the selecting module 216

Further, C gives the area covered by a given path.

Objective for C:

Given the path P which consists of nodes, P={P1, . . . Pn} and each ofthose nodes, Pi has viewport Sv with a given size and product/s ofinterest Φ={Φ1, . . . , Φn}, the system 102 may calculate the areacovered by the path.

FIG. 12 illustrates an example 1200 depicting products-of-interest in aspecific portion of the predefined premises, according to an embodimentof the present disclosure.

Viewport Sv has a size (height and breadth) and position Sv. Pi also haswidth and breadth and position Pi.

Sve Represents edge/s of the view port (Not the corners). View port has4 edges.

Pie Represents edge/s of the node (Not the corners).

Given the position and size, the system 102 may determine the edge forviewport.

Given all these information, the amount of area covered by the viewport(how much of the products are covered in that viewport) may bedetermined by determining a distance between the edges of the viewportSv and the product of interest Pi.

So for each viewport (meaning each node in the path), the system 102 maydetermine covered area against each product.

Each edge e may be determined by taking the width and height and placingedges on left, right, top, and bottom. Therefore, each edge is half thedistance away from width or height. FIG. 13 illustrates an example 1300depicting determining of the edge, according to an embodiment of thepresent disclosure.

Therefore, area covered by one viewport against one product may bedetermined by subtracting viewport size from two opposite edges of theviewport minus two opposite edges of the product. In the presentexample, opposite edges may be understood as edges on left-right ortop-bottom.

$\mspace{20mu}{C_{ij} = \frac{\begin{matrix}{{{S_{vi}^{h} - \left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)}} +} \\\left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)\end{matrix}}{2}}$ ?indicates text missing or illegible when filed

Here S_(vi) ^(evik) is k^(th) Edge of i^(th) Sv. (There are at least 4edges and n number of nodes, Sv)

And Φ_(j) ^(ejk) is 1^(th) edge of j^(th) Product-of-interest

S_(vi) ^(h) is size of the i^(th) viewport (height or width)

Therefore, area covered for all viewports against all the products maybe determined as:

$\mspace{20mu}{C = {\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{m}\frac{\begin{matrix}{{{S_{vi}^{h} - \left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)}} +} \\\left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)\end{matrix}}{2}}}}$ ?indicates text missing or illegible when filed

Where n is the number of viewport (or nodes) and m is the number ofproduct/s of interest.

One of the objectives is to maximize C. In another embodiment, when C isprovided to the objective function, the objective of that function is tominimize the output.

Therefore, for C to be maximized, for example, when provided to afunction that needs to be minimized, reciprocal of C needs to beprovided to the objective function which is 1/C.

So redefining C here, C=1/C, which gives the equation as:

$\mspace{20mu}{C = {\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{m}\frac{2}{\begin{matrix}{{{S_{vi}^{h} - \left( {\left( {S_{vi}^{\text{?}} - ~\Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)}} +} \\\left( {\left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right) + \left( {S_{vi}^{\text{?}} - \Phi_{j}^{\text{?}}} \right)} \right)\end{matrix}}}}}$ ?indicates text missing or illegible when filed

Evaluation of a Given Path in Terms of Points of View

Given a path P consisting of nodes n, the generation module 212 maydetermine the error as,

E=|αe−α|+|βe−β|+|γe−γ|

Let Φ be products of interest Φ={Φ1, . . . , Φn}

Let P be the path containing nodes, P={P1, . . . , Pn}

The generating module 212 may determine the error based on a path and aset of combination of expected point of perspectives depicted by αe, βe,and γe corresponding to the one-point perspective, the two-pointperspective, and the three-point perspective, respectively.

The combination of all three perspectives forms an overall style ofpoint of perspectives. For example, the system 102 may determinepercentage of each perspective to be used for generating a pathway.

αe, βe and γe have the following constraint,

αe+βe+γe=1.

In an example, αe, βe and γe may be derived from the point perspectivedata, which may be a machine learning model or data collected by all thewalkthroughs or the virtual tours. Further, values of αe, βe and γe maybe different, based on the data and the path.

Further, the system 102 may compare this expected point of perspectivewith the point of perspectives in the path. The system 102 may extract aplurality of points of perspectives in the path. In an embodiment, thesystem 102 may determine similarity between a current direction of thepath and a direction of a current node to the product-of-interest. FIG.14 illustrates an example 1400 depicting a current direction of path anda direction of the current node to the product-of-interest, according toan embodiment of the present disclosure.

In an example, the direction of the path with respect to the currentnode may be determined as:

{right arrow over (P _(i) ^(k))}={right arrow over (P _(i))}−{rightarrow over (P _(i+1))}

Where

{right arrow over (P_(i) ^(k))} is the current direction of the path;{right arrow over (P_(i))} is the current position of the node; andP_(i) and {right arrow over (P_(i+1))} is the position of the next node.

The system 102 may determine the point of perspective of the path at aparticular node, based on a comparison between these two vectors. Forexample, if it is the one-point perspective, the outcome may be −1 or+1. Further, if it is the two-point perspective, the outcome may be 0.Similarly, if it is the three-point perspective, the outcome may be 0.5.

The similarity between those two vectors is given by calculating the dotproduct of the vectors, which is given by,

${S\left( {\overset{\rightarrow}{P_{i}},\overset{\rightarrow}{\Phi_{i}}} \right)} = {\sum\limits_{j = 1}^{n}\left( {\left( {{\overset{\rightarrow}{P}}_{i}^{j} - \overset{\rightarrow}{\Phi_{i}^{j}}} \right) \cdot \left( {\overset{\rightarrow}{P}}_{k}^{j} \right)} \right.}$

Where

j is the number of dimension of the vector. In this case, j is 3, i.e.,x, y, and z. In other embodiments, it would generalize to n dimensions.({right arrow over (P)}_(i) ^(j)−{right arrow over (Φ_(i) ^(j))}) isdirection of the current node to the product-of-interest.P^(→→)k is the current direction of the path. Given by:

{right arrow over (P _(k))}={right arrow over (P)} _(i) −{right arrowover (P)} _(i+1)

With the abovementioned information, the system 102 may extract allpoint of perspectives for this node.

α_(i) =|S({right arrow over (P _(i))},{right arrow over (Φ_(i))})|

β_(i) =|S({right arrow over (P _(i))},{right arrow over (Φ_(i))})−1|

γ_(i)=1−|S({right arrow over (P _(i))},{right arrow over (Φ_(i))})−½|

Let τ be,

α=Σ_(i=1) ^(n)α_(i) And β=Σ_(i=1) ^(n)β_(i) and γ=Σ_(i=1) ^(n)γ_(i)

The system 102 may now determine the total error E for the path P as thedifference between expected point of perspectives and calculated pointof perspectives, which is given by:

E=|αe−α|+|βe−β|+|γe−γ|

Therefore, now total covered area C and the point of perspective error Eare determined. The system 102 may now minimize function f, given C andE as parameters.

ƒ(C,E)

In an example, the function f may be subjected to any optimizationtechniques. This may be understood as a feedback to the system 102 foroptimizing or updating the path.

FIG. 15 illustrates a flow chart depicting a method 1500 of rending thepathway for the virtual tour of the predefined premises, according to anembodiment of the present disclosure. In an embodiment, the method 1500may be a computer-implemented method 1500. In an embodiment, the method1500 may be executed by the processor 202. Further, for the sake ofbrevity, details of the present disclosure that are explained in detailsin the description of FIG. 1, FIG. 2, FIG. 3, FIG. 4, FIG. 5, FIG. 6,FIG. 7, FIG. 8, FIG. 9, FIG. 10, FIG. 11, FIG. 12, FIG. 13, and FIG. 14,are not explained in detail in the description of FIG. 15.

At a block 1502, the method 1500 includes receiving thethree-dimensional floor plan of the predefined premises. In anembodiment, the receiving module 210 of the system 102 may receive thethree-dimensional plan.

At a block 1504, the method 1500 includes generating the virtual tour ofthe predefined premises, based on the three-dimensional floor plan. Thevirtual tour may be generated by retrieving the plurality of imagescaptured from the predefined angles within the three dimensional floorplan, and stitching the plurality of images to generate the virtualtour. In an embodiment, the generating module 212 may generate thevirtual tour.

At a block 1506, the method 1500 includes identifying the plurality ofpathways within the three-dimensional floor plan for exploring thepredefined premises. A pathway is indicative of a visual, tactile oraudio guidance provided to the user for navigating from a starting pointto a destination point within the virtual tour. In an embodiment, themethod 1500 includes identifying the plurality of pathways within thethree-dimensional floor plan, based on identification of obstruction inthe three-dimensional floor plan. The obstruction may include, but isnot limited to, furniture, walls, stairs, and doors. In an embodiment,the identifying module 214 may identify the plurality of pathways.

At a block 1508, the method 1500 includes receiving the detailspertaining to the position and orientation of the user during thevirtual tour. The position and the orientation may be detected by the atleast one sensor of the VR-enabled device 104 of the user. In anembodiment, the receiving module 210 may receive the details pertainingto the position and orientation.

At a block 1510, the method 1500 includes selecting a pathway, fromamong the plurality of pathways, based on the position and theorientation of the user. In an embodiment, the selecting module 216 mayselect the pathway.

At a block 1512, the method 1500 includes rendering the pathway to theVR-enabled device 104 for the virtual tour. In an embodiment, therendering module 218 may render the pathway to the VR-enabled device104.

In an embodiment, the method 1500 includes generating the score for eachof the plurality of pathways. In such an embodiment, the method 1500further includes rendering a pathway with the highest score to theVR-enabled device 104.

In an embodiment, the method 1500 includes receiving a user instructionindicative of one of adding, removing, and modifying an item during thevirtual tour. In such an embodiment, the method 1500 then includesupdating the pathway being rendered to the VR-enabled device 104, basedon the user instruction.

In an embodiment, the method 1500 includes receiving the detailsindicative of the at least one predefined user gesture, based ondetection of the at least one predefined user gesture by the at leastone sensor of the VR-enabled device 104. The at least one predefineduser gesture may include, but is not limited to, hand movements andeyeball movements. In such an embodiment, the method 1500 furtherincludes updating the pathway being rendered to the VR-enabled device104, based on the at least one predefined user gesture.

As would be gathered, the present disclosure offers a comprehensiveapproach for rendering pathways for virtual tours of a selectedpremises. First of all, the system 102 determines the pathways based onthe dimensions and obstructions of the selected premises. Also, thesystem 102 considers the products-of-interest in the selected premisesfor generating the pathways. Therefore, the pathways are generated sothat the user gets to explore all relevant portions of the selectedpremises. Moreover, depending on the position and orientation of theuser, the system 102 ensures that a suitable pathway is selected toguide the user during the virtual tour. This would ensure a seamlessexperience to the user.

Further, the system 102 updates the pathways in real-time, based ondetection of gestures and user movements. The gestures and usermovements are continuously monitored by the system 102. Therefore, thepossibility of any disruptions in the user experience is eliminated. Inaddition, the system 102 assigns score of each possible pathway that canbe taken by the user from a first point to a second point during thevirtual tour. The pathway having the score higher the predefinedthreshold is selected and rendered to the user ensuring an ergonomic andeffective virtual tour of the user. Also, the system 102 has thecapability of learning over a period of time and accordingly providingimproved outcomes with each subsequent cycle of operation. Therefore,the system 102 and the method 1500 are comprehensive, flexible inimplementation, efficient in operation, user-specific,ergonomics-driven, and cost-effective.

While specific language has been used to describe the presentdisclosure, any limitations arising on account thereto, are notintended. As would be apparent to a person in the art, various workingmodifications may be made to the method in order to implement theinventive concept as taught herein. The drawings and the foregoingdescription give examples of embodiments. Those skilled in the art willappreciate that one or more of the described elements may well becombined into a single functional element. Alternatively, certainelements may be split into multiple functional elements. Elements fromone embodiment may be added to another embodiment.

We claim:
 1. A method (1500) of rendering a pathway for a virtual tour of a predefined premises, the method (1500) comprising: receiving, by a receiving module (210), a three-dimensional floor plan of the predefined premises; generating, by generating module (212), the virtual tour of the predefined premises, based on the three-dimensional floor plan, wherein the virtual tour is generated by: retrieving a plurality of images captured from predefined angles within the three dimensional floor plan; and stitching the plurality of images to generate the virtual tour; identifying, by an identifying module (214), a plurality of pathways within the three-dimensional floor plan for exploring the predefined premises, wherein a pathway is indicative of a visual, tactile or audio guidance provided to a user for navigating from a starting point to a destination point within the virtual tour; receiving, by the receiving module (210), details pertaining to a position and orientation of the user during the virtual tour, wherein the position and the orientation are detected by at least one sensor of a Virtual Reality (VR) enabled device (104) of the user; selecting, by a selecting module (216), a pathway, from among the plurality of pathways, based on the position and the orientation of the user; and rendering, by a rendering module (218), the pathway to the VR-enabled device (104) for the virtual tour.
 2. The method (1500) as claimed in claim 1, comprising identifying, by the identifying module (214), the plurality of pathways within the three-dimensional floor plan, based on identification of obstruction in the three-dimensional floor plan, wherein the obstruction comprises at least one of furniture, walls, stairs, and doors.
 3. The method (1500) as claimed in claim 1, comprising: generating, by the generating module (212), a score for each of the plurality of pathways; and rendering, by the rendering module (218), a pathway, from among the plurality of pathways, to a Virtual Reality (VR) enabled device (104) of the user, wherein the pathway with the highest score is selected to be rendered to the VR-enabled device (104).
 4. The method (1500) as claimed in claim 1, comprising: receiving, by the receiving module (210), a user instruction indicative of one of adding, removing, and modifying an item during the virtual tour; and updating, by the updating module (220), the pathway being rendered to the VR-enabled device (104), based on the user instruction.
 5. The method (1500) as claimed in claim 1, comprising: receiving, by the receiving module (210), details indicative of at least one predefined user gesture, based on detection of the at least one predefined user gesture by the at least one sensor of the VR-enabled device (104), wherein the at least one predefined user gesture comprises one of hand movements and eyeball movements; and updating, by the updating module (220), the pathway being rendered to the VR-enabled device (104), based on the at least one predefined user gesture.
 6. A system (102) of rendering a pathway for a virtual tour of a predefined premises, the system (102) comprising: a receiving module (210) adapted to receive a three-dimensional floor plan of the predefined premises; a generating module (212) in communication with the receiving module (210) and adapted to generate the virtual tour of the predefined premises, based on the three-dimensional floor plan, wherein the virtual tour is generated by: retrieving a plurality of images captured from predefined angles within the three dimensional floor plan; and stitching the plurality of images to generate the virtual tour; an identifying module (214) in communication with the generating module (212) and adapted to identify a plurality of pathways within the three-dimensional floor plan for exploring the predefined premises, wherein a pathway is indicative of a visual, tactile or audio guidance provided to a user for navigating from a starting point to a destination point within the virtual tour; the receiving module (210) adapted to receive details pertaining to a position and orientation of the user during the virtual tour, wherein the position and the orientation are detected by at least one sensor of a Virtual Reality (VR) enabled device (104) of the user; a selecting module (216) in communication with the receiving module (210) and adapted to select a pathway, from among the plurality of pathways, based on the position and the orientation of the user; and a rendering module (218) in communication with the selecting module (216) and adapted to render the pathway to the VR-enabled device (104) for the virtual tour.
 7. The system (102) as claimed in claim 6, comprising the identifying module (214) adapted to identify the plurality of pathways within the three-dimensional floor plan, based on identification of obstruction in the three-dimensional floor plan, wherein the obstruction comprises at least one of furniture, walls, stairs, and doors.
 8. The system (102) as claimed in claim 6, comprising: the generating module (212) adapted to generate a score for each of the plurality of pathways; and the rendering module (218) in communication with the generating module (212) and adapted to render a pathway, from among the plurality of pathways, to a Virtual Reality (VR) enabled device (104) of the user, wherein the pathway with the highest score is selected to be rendered to the VR-enabled device (104).
 9. The system (102) as claimed in claim 6, comprising: the receiving module (210) adapted to receive a user instruction indicative of one of adding, removing, and modifying an item during the virtual tour; and the updating module (220) in communication with the receiving module (210) and adapted to update the pathway being rendered to the VR-enabled device (104), based on the user instruction.
 10. The system (102) as claimed in claim 6, comprising: the receiving module (210) adapted to receive details indicative of at least one predefined user gesture, based on detection of the at least one predefined user gesture by the at least one sensor of the VR-enabled device (104), wherein the at least one predefined user gesture comprises one of hand movements and eyeball movements; and the updating module (220) in communication with the receiving module (210) and adapted to update the pathway being rendered to the VR-enabled device (104), based on the at least one predefined user gesture. 